package com.core.service;

import com.core.domain.User;
import com.core.dto.UserInfoDto;
import com.core.resp.AjaxResponse;
import com.core.resp.PageResult;
import com.core.vo.UserRolesVo;
import com.core.vo.UserVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author legion
* @description 针对表【users】的数据库操作Service
* @createDate 2025-05-31 22:41:52
*/
public interface UsersService extends IService<User> {
    User selectByUsername(String username);
    UserInfoDto selectInfoByUser(String username);

    /**
     * 分页查询user列表
     * @param user 查询条件
     * @param pageSize 页大小
     * @param pageNum 当前页
     * @return
     */
    PageResult<UserInfoDto> getUserListPage(User user, Long pageSize, Long pageNum);

    /**
     * 添加用户
     *
     * @param user
     * @return
     */
    AjaxResponse addUser(UserVo user);

    /**
     * 修改用户权限
     * @param userId
     * @param userRolesVo
     * @return
     */
    AjaxResponse updateRoles(Long userId, UserRolesVo userRolesVo);

    /**
     * 删除用户
     * @param userIds
     */
    void deleteUser(List<Long> userIds);
}
